package com.hsnn.medstgmini.settlement.service;

import java.util.List;

import com.hsnn.medstgmini.settlement.model.SetAcctInfo;
import com.hsnn.medstgmini.settlement.model.SetAcctTransInfo;
import com.hsnn.medstgmini.settlement.model.SetBankAcctInfo;
import com.hsnn.medstgmini.settlement.model.SetPostOrder;
import com.hsnn.medstgmini.settlement.model.SetRelationship;
import com.hsnn.medstgmini.util.Pagination;


public interface PostOrderManager {
	
	/**
	 *@category 获取缴款单列表数据[中心端]
	 *@author 应晓川
	 *@date 2015年7月21日08:56:54
	 *@param page
	 */
	public Pagination getPostOrderList(Pagination page);
	
	
	
	/*****************医疗机构提交缴款单过程 ***********************/
	/**
	 *@category 获取缴款单列表数据[医疗机构端]
	 *@author 应晓川
	 *@date 2015年7月21日13:28:21
	 *@param page
	 */
	public Pagination getPostOrderListByHosp(Pagination page);
	/**
	 *@category 保存缴款单数据[医疗机构端]
	 *@author 应晓川
	 *@date 2015年7月21日13:28:21
	 *@param page
	 */
	void saveSetPostOrder(Pagination page);
	
	
	
	
	/**
	 *@category 获取我的缴款单列表数据[核算中心端]
	 *@author 应晓川
	 *@date 2015年7月22日16:04:06
	 *@param page
	 */
	public Pagination getPostOrderListBySetCenter(Pagination page);
	/**
	 *@category 获取审核缴款单列表数据[核算中心端]
	 *@author 应晓川
	 *@date 2015年7月22日16:05:42
	 *@param page
	 */
	public Pagination getAuditPostOrderListBySetCenter(Pagination page);

	/*****************核算中心审核过程 ***********************/
	/**
	 *@category 更新医疗机构账户金额[医疗机构端]
	 *@author 应晓川
	 *@date 2015年7月21日18:22:42
	 *@param page
	 */
	void updateSetAcctinfoBySetCenter(Pagination page);
	/**
	 *@category 更新缴款单状态[医疗机构端]
	 *@author 应晓川
	 *@date 2015年7月21日18:24:07
	 *@param page
	 */
	void updateSetPostOrderByHosp(Pagination page);

	
	/**
	 *@category 根据医疗机构Id获取父级id[医疗机构端]
	 *@author 应晓川
	 *@date 2015年7月22日15:02:23
	 *@param hospId
	 */
	public SetRelationship getFatherOrgId(String hospId);
	/**
	 *@category 根据医疗机构Id获取账户信息[医疗机构端]
	 *@author 应晓川
	 *@date 2015年7月21日16:53:59
	 *@param hospId
	 */
	public List<SetBankAcctInfo> getSetBankAcctinfoById(String hospId);
	
	
	/**
	 *@category 获取未审核缴款单数据
	 *@author 应晓川
	 *@date 2015年7月23日10:36:10
	 */
	public SetPostOrder getSetPostOrderById(String  id);
	
	public Pagination getSetPostOrderByPage(Pagination page) ;
	
	/**
	 *@category 更新缴款单数据
	 *@author 应晓川
	 *@date 2015年7月23日12:49:47
	 *@param 
	 */
	void updateSetPostOrder(SetPostOrder setPostOrder);
	
	void updateSetAcctInfo(SetAcctInfo setAcctInfo);
	
	void saveSetAcctTransInfo(SetAcctTransInfo setAcctTransInfo);
	/**
	 *@category 根据id获取账户信息
	 *@author 应晓川
	 *@date 2015年7月23日18:16:33
	 *@param id
	 */
	public SetAcctInfo getSetAcctInfoById(String id);


	public Pagination getAuditPostOrderListByCenter(Pagination page);



	public SetPostOrder getPostOrderById(String id);
	
	/**
	 *@category 根据银行账户获取账户人和银行名
	 *@author 应晓川
	 *@date 2015年7月31日18:04:09
	 *@param getBankAcct
	 */
	public SetBankAcctInfo getBankAcct(String bankAcctNo);
	
	/**
	 *@category 根据账单名称获取缴款单
	 *@author 周奇
	 *@date 2015年8月13日11:50:03
	 *@param postOrderName
	 */
	public SetPostOrder getPostOrderByName(String postOrderName);

}